/* 
 * File:   Partida.h
 * Author: jimena2
 *
 * Created on 28 de mayo de 2011, 01:12 PM
 */

#ifndef PARTIDA_H
#define	PARTIDA_H
#include "../dataTypes/dataJAux.h"
#include "../dataTypes/dataPartidaCurso.h"
#include "Mapa.h"


class Partida {
private:
    String nombre;
    int maxTurno;
    bool finalizada;
    int indiceJP;
    int vuelta;

public:
    Partida();
    Partida(char*, int);
    Partida(const Partida& orig);
    char* obtenerNombreMapa();
    void setMapa(Mapa*);
    void agragarTipoUnidad(TipoUnidad*);
    void cearJP(dataJAux);
    void crearObjetivo(char*, char*, char*);
    void agregarJugadorPartida();
    bool puedoJugar(char*);
    int getIndiceJP();
    dataPartidaCurso* obtenerDataPC();
    void ubicarUnidad(char*, char*);
    bool hayCombate(char*, char*);
    Unidad* eliminarUTerrAct(bool);
    void combatir(char*, Unidad*);
    void actualizarDatos();
    void eliminarJugador(char*);
    int obtenerCantidadJugadores();
    bool alguienGano();
    bool jugoPartida();
    ICollection* obtenerJugadoresPartida();
    ICollection* obtenerDatosJugadores(int);
    virtual ~Partida();


};

#endif	/* PARTIDA_H */

